package com.fypg.module.medical.dal.mysql.organizationmap;

import com.fypg.framework.mybatis.core.mapper.BaseMapperX;
import com.fypg.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.fypg.module.medical.controller.app.map.vo.AppOrganizationMapReqVO;
import com.fypg.module.medical.dal.dataobject.organizationmap.OrganizationMapDO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 医疗机构地图 Mapper
 *
 * @author PJY
 */
@Mapper
public interface OrganizationMapMapper extends BaseMapperX<OrganizationMapDO> {

    /**
     * 根据医疗机构类型查询医疗机构地图
     *
     * @param reqVO 请求参数
     * @return 医疗机构地图 DO 列表
     */
    default List<OrganizationMapDO> selectList(AppOrganizationMapReqVO reqVO) {
        return selectList(new LambdaQueryWrapperX<OrganizationMapDO>()
            .eq(OrganizationMapDO::getEnabledMark, 1)
            // 在 C# 中使用的是 RemoveMark，但 Java 版本中没有了这个字段，故使用 deleted 来代替
            .eq(OrganizationMapDO::getDeleted, 0)
            .eq(OrganizationMapDO::getMedicalOrganizationType, reqVO.getMedicalOrgnizationType())
        );
    }

}
